1. Field of the Invention
The present invention relates generally to data encryption and decryption systems and methods and, more particularly, to a method and apparatus for dynamically generating data encryption keys for encrypting data files and for decrypting encrypted data files via a key exchange method.
2. Background Information
The Internet is fast becoming the primary platform for global commerce and communications. The ease of communication that encourages the Internet's growth, also makes it difficult to ensure the security of Internet transactions. Users of the Internet demand mechanisms that guarantee the integrity of the information they transmit over the Internet and provide the same level of trust as paper-based transactions.
Before committing sensitive communications to the Internet, users like specific assurances. Firstly, electronic transactions need to be confidential and protected from tampering. Secondly, they need to be able to trust that participants are who they claim to be. Lastly, they want to be assured that no one can deny their involvement in a transaction after the fact.
Public Key Infrastructure (PKI) is a known attempt to provide these assurances. PKI is a framework of policies, services, hardware, and encryption software that is based on the use of public key cryptography and digital signatures.
Public key cryptography uses a mathematical algorithm, or key, to encrypt data, and a related mathematical key to decrypt the data. Authorized users of public key cryptography receive encryption software and a key pair. The keys in a key pair are related so that a message encrypted with a user's public key can only be decrypted using the corresponding private key. One key is an accessible public key, and the other key is a private key that the user must keep secret. In Public key cryptography, public keys are published in electronic directories.
A Certification Authority (CA) is a main component of a PKI. A CA is a trusted third party responsible for issuing Digital Certificates and managing them throughout their lifetime. Digital Certificates are electronic files containing a user's public key and specific identifying information about the user. The CA certifies that the individual granted the digital certificate is who they claim to be.
A Digital Signature is an electronic identifier comparable to a traditional, paper-based signature. A digital signature is unique, verifiable, and only the signer can initiate it. A digital signature ensures that the information contained in a digitally signed message or document is not altered during transmission.
In use, a source user desires to transmit a message electronically to a destination user, via PKI. The source user needs to prove that it sent the message and ensure that its contents are not altered. PKI software used by the source user utilizes the source user's private key to create a digital signature for the message. The source user further desires to ensure that no one, other than the destination user is able to read the message. The source user's software utilizes the public key of the destination user to encrypt the message.
The destination user desires to read the message. The destination user's software utlizes destination user's private key to decrypt the message. The destination user needs to verify that the source user sent the message and that its contents have not been altered. The destination user's software utilizes the source user's public key to verify its digital signature. The destination user can then read the message.
A disadvantage of public key encryption is that it may be vulnerable to “Man-In-The-Middle” (MITM) attacks, since the possessors of the keys may be unable to verify the identity of each other. A Man-In-The-Middle (MITM) attack typically involves an interceptor posing as a target, which may be a sever or a user, for example. The interceptor uses its own public key, instead of the target's public key, for asymmetric encryption. This allows the interceptor to decrypt confidential data that is intended for the target. The interceptor can then use this decrypted information to gain unauthorized access to the target's confidential information.
Another known method of obtaining unauthorized access to encrypted data is a “replay” attack. Web browsers may be vulnerable to a replay attacks, if a user's authentication keys are captured or intercepted by an attacker. In a replay attack, an attacker directly uses authentication keys, such as a session ID in a URL cookie, for example. For clarification, “URL” is an acronym for Uniform Resource Locator. A URL is an address for a resource on the Internet used by Web browsers to locate Internet resources. The attacker uses the authentication key to obtain or create service to a user's account, while bypassing normal user authentication, such as logging in with the appropriate username or password.
For example, an attacker discovers a URL that contains session ID information. With this information, the attacker may be able to obtain or create service to a user's account contained in the session ID information, simply by pasting that URL back into the internet address widow of their web browser. The legitimate user may not need to be logged into the application at the time of the replay attack.
Another disadvantage of PKI is that since it is dependent upon private and public keys, designing and building full-featured PKI is difficult. Due to the inherent complexity of designing and building a PKI, implementations are not common. Further, there are significant interoperability and management challenges associated with PKI. Given the potential numbers of digital certificates that PKI involves, another disadvantage of PKI is the administration and management of certificates. Resultantly, PKI and the training therefor can be expensive and complex.
Additionally, a hardware device should be utilized with PKI. Since the security provided by PKI can be breached if the private key is compromised, as discussed above, a hardware device may inhibit these security breaches.